| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Public Member Functions | Static Public Member Functions | List of all members
nkWinUi::Window Class Referenceabstract

A graphical window, made for general purpose. More...

Inheritance diagram for nkWinUi::Window:

## Public Member Functions
| Window (System *system) noexcept
virtual | ~Window ()
virtual bool | isMaximized () const
virtual bool | isFullscreen () const
virtual HWND | getHwnd () const
virtual nkMemory::String | getCanvasId () const
void | setMouseLeaveCallback (std::function< void(Window *, nkMaths::Point)> callback)
void | setResizeCallback (std::function< void(Window *)> callback)
void | setNoBorder (bool value)
virtual void | setIcon (const nkImages::ImageView &icon)=0
virtual void | maximize (bool val, bool coverTaskBar=false)=0
virtual void | exportIntrospection (nkExport::Node *rootNode) override
virtual void | importClassFromTree (nkExport::Node *rootNode) override
Public Member Functions inherited from nkWinUi::Component
| Component (System *system) noexcept
virtual | ~Component ()
Layout * | getLayout () const
Theme * | getTheme () const
Font * | getFont () const
nkMaths::Point | getPositionInParent () const
nkMaths::Point | getPositionInScreen () const
float | getWidth () const
float | getHeight () const
nkMaths::Rectangle | getAreaInParent () const
nkMaths::Rectangle | getAreaInScreen () const
virtual nkMaths::Point | getBorderExtents () const
virtual float | getBorderExtent (BORDER_KIND border) const
virtual float | getLayoutAllowedWidth () const
virtual float | getLayoutAllowedHeight () const
virtual float | getLayoutAllowedOffsetX () const
virtual float | getLayoutAllowedOffsetY () const
bool | isInitialized () const
System * | getSystem () const
Component * | getParentComponent () const
COMPONENT_TYPE | getComponentType () const
nkMemory::StringView | getComponentName () const
bool | getVisibility () const
virtual nkMemory::StringView | getLabel () const
void * | getData () const
bool | isEnabled () const
bool | isForegroundWindow () const
virtual unsigned int | getZDepth () const
bool | getVisibleOnLoad () const
std::function< bool(Component *)> | getCloseCallback () const
std::function< void(Component *, bool)> | getVisibilityCallback () const
std::function< void(Component *, const ClickEventData &)> | getClickCallback () const
std::function< void(Component *, const WheelEventData &)> | getWheelCallback () const
std::function< void(Component *, const KeyEventData &)> | getKeyCallback () const
virtual Layout * | setLayout (LAYOUT_TYPE layoutType)
virtual void | setTheme (Theme *theme)
virtual void | setFont (Font *font)
virtual void | setPositionInParent (nkMaths::Point position)
virtual void | setPositionInScreen (nkMaths::Point position)
virtual void | setSize (float width, float height)
virtual void | setWidth (float width)
virtual void | setHeight (float height)
void | setMinSize (float width, float height)
void | setMaxSize (float width, float height)
void | setRatio (float widthOverHeight)
virtual void | setAreaInParent (const nkMaths::Rectangle &area)
virtual void | setAreaInScreen (const nkMaths::Rectangle &area)
virtual void | setParentComponent (Component *parent, bool makeItVisible=true)
virtual void | setLabel (nkMemory::StringView label)
void | setComponentName (nkMemory::StringView name)
virtual void | setVisibility (bool value)
void | setData (void *data)
void | setEnabled (bool value)
void | setVisibleOnLoad (bool value)
void | setCloseCallback (std::function< bool(Component *caller)> callback)
void | setVisibilityCallback (std::function< void(Component *caller, bool visibility)> callback)
void | setClickCallback (std::function< void(Component *caller, const ClickEventData &eventData)> callback)
void | setWheelCallback (std::function< void(Component *caller, const WheelEventData &eventData)> callback)
void | setKeyCallback (std::function< void(Component *caller, const KeyEventData &eventData)> callback)
void | addChild (Component *child, bool makeItVisible=true)
void | removeChild (Component *child)
void | removeChild (unsigned int index)
Component * | getChild (unsigned int index)
unsigned int | getChildIndex (Component *child)
void | unloadWithChildren ()
void | loadWithChildren ()
void | updateZDepth ()
void | bringToForeground ()
void | focusWindow ()
nkMaths::Point | getCoordRelativeFromAbsolute (nkMaths::Point absCoords)
nkMaths::Point | getCoordAbsoluteFromRelative (nkMaths::Point relCoords)
virtual void | load ()=0
virtual void | unload ()=0
void | reload ()
virtual void | updateWindow ()
nkImages::Image | paintToImage (bool withFrame=false)
void | simulateEvent (const InputDescriptor &inputDescription)
virtual void | onSized ()
virtual void | exportClassToTree (nkExport::Node *rootNode) override
Public Member Functions inherited from nkExport::Exportable
| Exportable () noexcept
virtual | ~Exportable ()

## Static Public Member Functions
static nkMemory::UniquePtr< Window > | create (System *system=nullptr)

## Detailed Description

A graphical window, made for general purpose.

This component can be used as a basis to contain an UI, or even passed around to host a 3D graphics rendering environment.

## Constructor & Destructor Documentation

## ◆ Window()

nkWinUi::Window::Window | ( | System * | system | ) |
| noexcept

Constructor.

Parameters

  system | The parent system in which the component will live.

Remarks
  See ComponentManager::createOrRetrieve().

## ◆ ~Window()

virtual nkWinUi::Window::~Window | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ isMaximized()

virtual bool nkWinUi::Window::isMaximized | ( |  | ) | const
| virtual

Returns
  Whether the window is maximized (covering the whole screen surface, true) or not (false).

## ◆ isFullscreen()

virtual bool nkWinUi::Window::isFullscreen | ( |  | ) | const
| virtual

Returns
  Whether the window is fullscreen. A window is fullscreen if it covers the screen it is on, task bar included.

## ◆ getHwnd()

virtual HWND nkWinUi::Window::getHwnd | ( |  | ) | const
| virtual

Returns
  The HWND attached to the window, if available.

Remarks
  This is dependant on the system used. HWND is a Windows structure, available with the WinApi windowing system.

## ◆ getCanvasId()

virtual nkMemory::String nkWinUi::Window::getCanvasId | ( |  | ) | const
| virtual

Returns
  The canvas ID string attached to the window, if available.

Remarks
  This is dependant on the system used. A canvas is a browser HTML object for graphics, available in the Javascript system.

## ◆ setMouseLeaveCallback()

void nkWinUi::Window::setMouseLeaveCallback | ( | std::function< void(Window *, nkMaths::Point)> | callback | ) |

Sets the callback used when the mouse is leaving the window.

Parameters

  callback | The callback to set. The first parameter will be the calling window, and the second one the absolute coordinate of the mouse pointer.

## ◆ setResizeCallback()

void nkWinUi::Window::setResizeCallback | ( | std::function< void(Window *)> | callback | ) |

Sets the callback used when the window gets resized.

Parameters

  callback | The callback to set. The argument will be the calling window.

## ◆ setNoBorder()

void nkWinUi::Window::setNoBorder | ( | bool | value | ) |

Sets whether the window should have a border and a system bar, or not.

Parameters

  value | If the window should have no border (true) or not (false).

## ◆ setIcon()

virtual void nkWinUi::Window::setIcon | ( | const nkImages::ImageView & | icon | ) |
| pure virtual

Sets the icon to use for the window, both in its title bar and in the task bar.

Parameters

  icon | The image to use as an icon.

## ◆ maximize()

virtual void nkWinUi::Window::maximize | ( | bool | val,
|  | bool | coverTaskBar = `false`
| ) |  |
| pure virtual

Maximizes the window.

Parameters

  val | If the window should be maximized (true) or minimized (false).
  coverTaskBar | Whether the task bar should be covered (true) or not (false), when maximizing the window.

## ◆ exportIntrospection()

virtual void nkWinUi::Window::exportIntrospection | ( | nkExport::Node * | rootNode | ) |
| override virtual

A basic exporting capability, for components inheriting. Components inheriting this class should rather reimplement this function to export their internal data.

Parameters

  rootNode | The root of the tree to export into.

Reimplemented from nkWinUi::Component.

## ◆ importClassFromTree()

virtual void nkWinUi::Window::importClassFromTree | ( | nkExport::Node * | rootNode | ) |
| override virtual

A basic importing capability.

Parameters

  rootNode | The root of the tree to import from.

Reimplemented from nkWinUi::Component.

## ◆ create()

static nkMemory::UniquePtr<Window> nkWinUi::Window::create | ( | System * | system = `nullptr` | ) |
| static

Creates a standalone component, linking it to a system, but no manager. This method can be used to allocate a component and manually manage its lifetime.

Parameters

  system | The system to create the component into. If left to nullptr, then the Singleton instance will be used.

Returns
  The created component instance.

The documentation for this class was generated from the following file:

- Documentation/Headers/NilkinsWinUi/Components/Window.h